# Table of Contents

# Spring Core

Spring Core는 스프링 프레임워크의 핵심 모듈이다. 이 모듈의 가장 중요한 개념은 제어의 역전(Inversion of Control)의존성 주입(Dependency Injection)이다.

# 설정

Gradle로 간단한 Java 애플리케이션을 생성하고 Spring Core 의존성을 추가해보자.

// build.gradle
dependencies {
    // Spring Context
    implementation 'org.springframework:spring-context:5.3.13'
}

참고로 spring-context.jar는 내부적으로 다음과 같은 의존성이 있다.

# 제어의 역전

제어의 역전(Inversion of Control)은 객체의 생성, 관리, 제거 등의 제어를 개발자가 직접 하지 않고 Spring IoC Container에 위임하는 것이다. 제어의 역전을 위해서는 컨테이너에 객체를 등록해야한다.

# 의존성 주입

의존성 주입(Dependency Injection)Spring IoC Container가 적절한 곳에 객체를 주입하는 것이다.

# Bean, POJO

컨테이너에 등록된 객체를 빈(Bean) 또는 POJO(Plain Old Java Object)라고 한다.

# 마치며

컨테이너에 두 가지 방법으로 빈을 등록할 수 있다.

  • XML 파일을 통한 빈 등록
  • Annotation을 통한 빈 등록

다음 포스트에서 두 가지 방법에 대해 알아보겠다.